1. Field of the Invention
The invention relates to a method of manipulating the header field in an ATM cell. The method of the invention is especially intended for changing the value of an EFCI bit. An EFCI bit indicates congestion in an ATM network.
2. Background
ATM (Asynchronous Transfer Mode) is a connection-oriented packet switching technique chosen by the International Telecommunications Union ITU-T as the target solution for the broadband integrated services digital network (B-ISDN). Problems arising in conventional packet networks have been eliminated in ATM networks by starting to use short constant-length packets (53 bytes), called cells.
FIG. 1a shows the basic structure of a cell transmitted in an ATM network. Each cell to be transmitted in the network comprises a 48-byte payload and a 5-byte header, but the detailed structure of the header (its contents) depends on the part of the ATM network being used. This is because the ATM network architecture comprises a plurality of interfaces precisely defined in the standards, and the header structure used in an ATM cell depends on which interface (i.e. which part of the network) is involved.
FIG. 1b shows the structure of the cell header at a UNI interface (User-to-Network Interface), which is an interface between an ATM terminal (such as a computer, a router or a telephone exchange) and an ATM node. FIG. 1c again shows the structure of a header at a NNI interface (Network-to-Network Interface) of an ATM network, which is an interface between two ATM nodes, either inside the network or between two different networks.
The routing field of a cell header is formed by a Virtual Path Identifier (VPI) and a Virtual Channel Identifier (VCI). In the header structure of FIG. 1b, used only in a subscriber line, altogether 24 bits are reserved for the routing field (VPI/VCI). In the header structure of FIG. 1c, used everywhere else in an ATM network, 28 bits are reserved for the routing field (VPI/VCI). As its name implies, a routing field is the basis for cell routing in an ATM network. The virtual path identifier VPI is mainly used in the inner parts of a network and in practice it often determines to which physical connection a cell has to be routed. The virtual channel identifier VCI again is often used in routing only at the periphery of a network, e.g. when FR (Frame Relay) connections are connected to an ATM network. It should, however, be noted that both VPI and VCI are needed to unequivocally determine the route of a cell.
The other fields determined by the specifications in the header of an ATM cell include
GFC (Generic Flow Control) intended for control of traffic in a subscriber line, not yet precisely defined, PA1 PTI (Payload Type Indicator), mainly used to separate network management cells from subscriber information cells, which can additionally be specified according to whether congestion has or has not been detected on the way, PA1 CLP (Cell Loss Priority), employed to giving priorities to cells with regard to probability of loss, PA1 HEC (Header Error Control), header check sum.
Especially the PTI field, which can be used to transmit virtual path and virtual channel specific congestion messages, is related to the present invention. As is apparent from FIGS. 1b and 1c, the PTI field comprises three bits, using which a total of eight different values can be indicated. Only part of these values are reserved for user cells (part of the eight values of a PTI field belonging to OAM and RM cells), and consequently in practice the middle bit of the PTI field in user cells is the one whose value indicates if congestion has been detected. This bit is called EFCI (Explicit Forward Congestion Indication). The coding of a PTI field has been defined in the standards in accordance with the following table (EFCI bits are in bold face).
______________________________________ PTI coding Interpretation ______________________________________ Bits 4 3 2 0 0 0 User cell, no congestion (I=0). 0 0 1 User cell, no congestion (I=1). 0 1 0 User cell, congestion (I=0). 0 1 1 User cell, congestion (I=1). 1 0 0 OAM cell 1 0 1 OAM cell 1 1 0 RM cell 1 1 1 Reserved ______________________________________
As can be seen from the table , the EFCI bit value "1" is used to indicate congestion in user cells. (The parameter I indicates whether the last cell of an upper level packet is concerned or not.) The table also shows that bit No. 4 in the PTI field indicates whether a user cell or another cell is involved.
The structure of an ATM cell is described in ITU-T recommendation 1.361 with a more precise description of an ATM cell and its header.
In practice, an ATM device has to be implemented by commercially available ATM microcircuits that typically implement an interface according to the UTOPIA standard defined by the ATM Forum or to a conventional 8-bit parallel bus. One of the purposes of the UTOPIA standard is to define a uniform interface between ATM microcircuits for transmission of data between circuits operating in the ATM layer (ATM) and circuits operating in the physical layer (PHY). The problem of handling the setting of the EFCI bit as simply as possible in connection with microcircuits implementing the above interfaces arises since these circuits cannot at least at the present moment utilize e.g. the setting of the EFCI bit to indicate congestion.
When implementing a simple additional function (such as the setting of the EFCI bit) between two ATM circuits forming a similar interface between themselves, the most natural way would be for the additional function to implement the same interface standard as do ATM microcircuits (e.g. UTOPIA). Such a straightforward solution is illustrated in FIG. 2, showing two ATM microcircuits A and B, and between them a manipulation circuit 21 carrying out said additional function. Signals are denoted with the same reference numerals as in the UTOPIA standard; TxData is byte-wide data driven from the ATM layer to the physical layer, and RxData is byte-wide data driven from the physical layer to the ATM layer. In this case all parallel data lines (e.g. the whole ATM cell) are thus brought to the header manipulation circuit 21, where the cell is buffered, processed and then fed forward to the next ATM circuit. Six control signals, two of which are optional, have been defined in the UTOPIA interface in addition to the eight parallel data signals. The figure shows only signals TxSOC and RxSOC of these control signals, since they are utilized in the solution of the present invention. TxSOC (Start of Cell) is a signal asserted by the ATM layer when TxData contains the first valid byte of a cell. RxSOC again is a signal asserted by the physical layer when RxData contains the first byte of a cell.
As the example in FIG. 2 shows, the interface of the standard requires a large number of pins of the circuit implementing the additional function.